/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package webui;

import OpenCodes.Dominio.Jugador;



import OpenCodes.Servicios.Jugador.JugadorServicio;

//import OpenCodes.Servicios.PersonaServicio;
import OpenCodes.Servicios.ServicioException;
import OpenCodes.UI.IUsuarioInterfazJugador;

//import OpenCodes.UI.IUsuarioInterfazPersona;



import com.sun.data.provider.impl.CachedRowSetDataProvider;
import com.sun.rave.web.ui.appbase.AbstractPageBean;



import com.sun.rave.web.ui.component.DropDown;
import com.sun.rave.web.ui.component.TextField;
import com.sun.rave.web.ui.model.DefaultOptionsList;
import com.sun.rave.web.ui.model.MultipleSelectOptionsList;
import com.sun.rave.web.ui.model.Option;
import com.sun.rave.web.ui.model.SingleSelectOptionsList;
import java.util.ArrayList;
import java.sql.Date;

import java.util.List;

import javax.faces.context.FacesContext;
import javax.faces.FacesException;
import javax.faces.application.FacesMessage;
import javax.faces.model.SelectItem;

public class ConsultarJugadores extends AbstractPageBean implements IUsuarioInterfazJugador {

    private void _init() throws Exception {
    }
    /*
     * NOTA!! NICO
     * ES NECESARIO DECLARAR LAS DEMAS INTERFACES DE LA CAPA DE SERVICIOS
     * PARA CREAR UNA INSTANCIA DE PERSONA SERVICE, YA QUE LA MISMA IMPLEMENTA
     * LAS DEMAS INTERFACES.
     * TAMBIEN NECESITAMOS DECLARAR UNA LISTA DE TIPO PERSONA DE LA CAPA DOMINIO
     * comentario de luis
     */
   
    private JugadorServicio JugadorServicio;
    private List<Jugador> listaJugadores;
    private List<Object> listaJugadoresObjeto;
    private TextField textField1 = new TextField();

    public TextField getTextField1() {
        return textField1;
    }

    public void setTextField1(TextField tf) {
        this.textField1 = tf;
    }

    public ConsultarJugadores() {
        ObtenerJugadores();
        this.textField1.setValid(false);


    }

    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();

        try {
            _init();
        } catch (Exception e) {
            log("ConsultarJugadores Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
        }
    }
    public String MensajeError;

    private void ObtenerJugadores() {
        try {

            JugadorServicio = new JugadorServicio();
            JugadorServicio.init(this);
            JugadorServicio.listarTodos(this);
            

            //llenarTablaJugadores(this.listaJugadores);

        } catch (ServicioException e) {
            MensajeError = e.toString();

        }
    }

    public void llenarTablaJugadores(List<Jugador> data) {
        String[] columnNames = {"ID", "NOMBRE", "APELLIDO", "TELEFONO", "IDCiudad", "CALLE", "NUMERO", "PISO", "DEPARTAMENTO", "DNI", "FECHANACIMIENTO", "SEXO"};

        List<Object> tabla = new ArrayList<Object>();
        tabla.add(columnNames);

        for (Jugador j : data) {

            List<String> registro = new ArrayList<String>();
            registro.add("" + j.getId());
            registro.add(j.getNombre());
            registro.add(j.getApellido());
            registro.add(j.getTelefono());
            registro.add(String.valueOf(j.getDireccionParticular().getCiudad().getId()));
            registro.add(j.getDireccionParticular().getCalle());
            registro.add(String.valueOf(j.getDireccionParticular().getNumero()));
            registro.add(j.getDireccionParticular().getPiso());
            registro.add(j.getDireccionParticular().getDepartamento());
            registro.add(String.valueOf(j.getDni()));
            registro.add(String.valueOf(j.getFechaNacimiento()));
            registro.add(j.getSexo());
            tabla.add(registro.toArray());
        }
        listaJugadoresObjeto = tabla;
    }

    @Override
    public void preprocess() {
    }

    @Override
    public void prerender() {
    }

    @Override
    public void destroy() {
    }

    protected RequestBean1 getRequestBean1() {
        return (RequestBean1) getBean("RequestBean1");
    }

    protected SessionBean1 getSessionBean1() {
        return (SessionBean1) getBean("SessionBean1");
    }

    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    @Override
    public int getId() {
        return 0;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getNombre() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getApellido() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getTelefono() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getCalle() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int getNumero() {
        return 0;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getPiso() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getDepartamento() {
        return null;
    //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void setListaJugadores(List<Jugador> lista) {

        this.listaJugadores = lista;


    }

    public List<Jugador> getListaJugadores() {
        return listaJugadores;

    }

    public List<Object> getlistaJugadoresObjeto() {
        return listaJugadoresObjeto;
    }

    @Override
    public int getIdCiudad() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getNombreCiudad() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int getDni() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public Date getFechaNacimiento() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getSexo() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /*
     * <h:selectOneMenu>
     *  SelectItems
     *
     * */
}